package co.yixiang.yshop.module.tables.controller.admin.table.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;

import com.alibaba.excel.annotation.ExcelProperty;
import co.yixiang.yshop.framework.excel.core.annotations.DictFormat;
import co.yixiang.yshop.framework.excel.core.convert.DictConvert;


/**
 * 餐桌 Excel VO
 *
 * @author yshop
 */
@Data
public class TableInfoExcelVO {

    @ExcelProperty("餐桌唯一标识符")
    private Integer id;

    @ExcelProperty("餐桌编号或名称")
    private String tableName;

    @ExcelProperty(value = "餐桌类型 (1:普通桌, 2:包厢, 3:吧台)", converter = DictConvert.class)
    @DictFormat("table_info_table_type") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private String tableType;

    @ExcelProperty("餐桌最大容纳人数")
    private Short tableCapacity;

    @ExcelProperty("餐桌所在位置描述（如楼层、区域、具体坐标等）")
    private String tableLocation;

    @ExcelProperty(value = "状态 (1:空闲, 2:已预订, 3:正在使用)", converter = DictConvert.class)
    @DictFormat("table_info_table_status") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private String tableStatus;

    @ExcelProperty("当前有效的点餐二维码（或其ID）")
    private String activeQrcode;

    @ExcelProperty("关联的预订记录ID（如有预订）")
    private Integer reservationId;

    @ExcelProperty("备注信息（如特殊要求、临时关闭原因等）")
    private String tableNotes;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
